package lianxi;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;

/**
 * 解析 properties 工具类
 * 
 * @author lenovo
 * @date 2020年8月8日 @time 下午7:44:30
 */
public class LianXiUtil {
	// 单例
	private static LianXiUtil lianXiUtil = null;

	private LianXiUtil() {

	}

	public static LianXiUtil getInstanceLianXiUtil() {
		if (lianXiUtil == null) {
			lianXiUtil = new LianXiUtil();
		}
		return lianXiUtil;
	}

	// 创建一个静态的 map 用来保存从 jdbc.properties 中获取到的值
	private static Map<String, String> datas = new HashMap<String, String>();

	/**
	 * 保存数据方法
	 * 
	 * @param string
	 */
	public static void load(String string) {
		// 用字节流获取 jdbc.properties 中的一行数据
		// 放在 try 的括号中用来自动关闭资源
		try (FileInputStream fis = new FileInputStream(string);
				InputStreamReader isr = new InputStreamReader(fis);
				BufferedReader br = new BufferedReader(isr);) {

			String temp = null;
			while ((temp = br.readLine()) != null) {
				String[] srr = temp.split("=");
				// 存放数据的时候取出首尾空格
				LianXiUtil.datas.put(srr[0].trim(), srr[1].trim());
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 获取 value 值方法
	 * 
	 * @param string
	 * @return
	 */
	public static String getProperty(String string) {
		// 此方法用来获取 map 中的 key 值 对应 value 值
		return LianXiUtil.datas.get(string);
	}
}
